The MPEG-H Part 1 (ISO/IEC 23008-1): MPEG Media Transport (MMT) (“High efficiency coding and media delivery in heterogeneous environments—Part 1: MPEG media transport (MMT)”, ISO/IEC 23008-1, May 2014) is under development for its second edition (i.e., “Draft text for ISO/IEC 23008-1 2nd edition”, N15518, June 2015, Warsaw, Poland). MMT is for the transport and delivery of coded media data for multimedia services over heterogeneous packet-switched networks. It provides an Application Layer/Level Forward Error Correction (AL-FEC) mechanism for reliable delivery in IP network environments.
FIG. 1 illustrates the architecture for application-layer/level forward error correction (AL-FEC) in MMT. MMT provides the application level forward error correction (FEC) mechanism for reliable delivery in IP network environments that are prone to packet losses. The MMTP layer 120 includes an MMT Protocol unit 122 and an MMT FEC Scheme unit 124. After packetization, MMT packets are passed to the MMT FEC scheme unit 124 for protection. The MMT FEC scheme unit 124 returns, as part of output, repair symbols and FEC payload IDs. Then, the output of unit 124 is delivered by MMT protocol unit 122 with the MMT packets. The FEC configuration information provides the identification of FEC encoded flow, and the information specified FEC coding structure and FEC code 126. It is delivered to an MMT receiving entity for FEC operation.
According to the standard, the MMT sending entity determines the Assets within packages which require protection and configures the FEC scheme. The MMT source packets and the FEC configuration information are passed to the MMT FEC scheme unit 124 for protection processing. The MMT FEC scheme unit 124 uses FEC code(s) 126 to generate repair symbols composing one or more FEC repair flows. They are passed to MMT protocol unit 122 along with source symbols and FEC payload IDs. Then MMT protocol unit 122 delivers the source and repair packets to the MMT receiving entity. At the MMT receiving entity, MMT protocol unit 122 passes the source flow and its associated FEC repair flow(s) in packet to MMT FEC scheme unit 124. Then the MMT FEC scheme unit 124 returns recovered MMT source packets.
Two FEC coding structures are specified in the standard as shown in FIG. 2 and FIG. 3 for the AL-FEC mechanism, i.e. the two-stage FEC coding structure and the Layer-Aware FEC (LA-FEC) coding structure. MMT Protocol (MMTP) enables to deliver streaming support data with AL-FEC repair data and signalling messages.
In the two-stage coding scheme as shown in FIG. 2, a source packet block (210) including a predetermined number of source packets is split into first M (M is an integer equal to or larger than 2) source packet sub-blocks (220, 222 through 224), which are used to generate first M source symbol sub-blocks (230, 232 through 234) from the first M source packet sub-blocks and to generate first encoding symbol blocks including the first M source symbol sub-blocks (250, 252 through 254) and first M repair symbol blocks (251, 253 through 255) using a first FEC encoder (240). The MMT FEC scheme then generates a second encoding symbol block including a second repair symbol block (256) generated by a second FEC encoder (242) from the first M source symbol sub-blocks (230, 232 through 234) as a second source symbol block.
FIG. 3 illustrates a method of generating a source symbol block for layered media data with two-layers according to AL-FEC coding structure of the standard. As shown in FIG. 3, Base Representation (BR) of a base layer is data that can be decoded independently in a media codec, whereas Enhancement Representation (ER) of an enhancement layer is data dependent on the BR. The data associated with the ER are shown in blocks filled with dots. On the other hand, the data associated with BR are shown in white blocks. As shown in FIG. 3, the base layer MMT packets (310) are converted to base layer source symbol sub-blocks (320). Also, the enhancement layer MMT packets (312) are converted to enhancement layer source symbol sub-blocks (322). Furthermore, BR is also used in generating repair symbol blocks for ER layer. Source symbol block 320 of the base layer is FEC coded for the base layer by itself and the combined source symbol block 330 including the both the source symbol blocks 320 of the base layer and the source symbol block 322 of the enhancement layer is FEC coded together for the enhancement layer.
In the current standard, AL-FEC messages and FEC fields in the MMT packet are used to signal an FEC scheme and usage. The structure of MMTP packet according to the standard is shown in FIG. 4. In FIG. 4, each row consists of 32 bits. Some relevant fields are described as follows. In the first row, “V” corresponds to Version number of the MMTP represented by 2 bits. This field shall be set to “00” to comply with this specification. “C” corresponds to packet_counter_flag represented by 1 bit. A “1” in this field indicates that the packet_counter field is present. “FEC” corresponds to FEC_type represented by 2 bits. “r” corresponds to “reserved” represented by 1 bit. “x” corresponds to extension_flag represented by 1 bit. “R” corresponds to RAP_flag (Random Access Point flag) represented by 1 bit. “RES” corresponds to “reserved” represented by 1 bit. “type” indicates the type of payload data represented by 6 bits. “packet_id” indicates the 16-bit packet ID. “packet_sequence_number” indicates the 32-bit packet sequence number. “timestamp” specifies the time instance of MMTP packet delivery based on UTC (Coordinated Universal Time) in 32 bits. “packet_counter” specifies the packet counter in 32 bits. “header_extension” is a field containing user-defined information.
The 2-bit codes for the FEC_type (i.e., FEC_type) field are listed in Table 1.
TABLE 1ValueDescription0MMTP packet without Source FEC payload ID1MMTP packet with Source FEC payload ID2MMTP packet for repair symbol(s) for FEC PayloadMode 0 (FEC repair packet)3MMTP packet for repair symbol(s) for FEC PayloadMode 1 (FEC repair packet)
The data type definition of data unit is shown in Table 2.
TABLE 2ValueData typeDefinition of data unit0x00MPUa media-aware fragment of the MPU0x01Generic objecta generic object such as a complete MPUor an object of another type0x02signallingone or more signalling messages or amessagefragment of a signalling message0x03repair symbola single complete repair symbol0x04~0x1Freserved forISO use0x20~0x3Freserved forprivate use
“source_FEC_payload_ID” (32 bits)—This field shall be used only when the value of FEC_type is set to ‘1’. MMTP packet with FEC_type=1 shall be used for AL-FEC protection for FEC Payload ID Mode 0 and this field shall be added to the MMTP packet after AL-FEC protection.
The AL-FEC messages are used to signal configuration information of an AL-FEC scheme to be used to protect Asset. In the message payload, those are the top level configuration information such as:                fec_flag—indicates whether there is at least one source flow delivered with AL-FEC protection.        private_fec_flag—indicates the presence of private FEC information.        fec_coding_structure—indicates the applied AL-FEC coding structure for its associated FEC source flow. Valid values for this field are shown and described in Table 3 (i.e., Table C.5 in the standard).        fec_payload_id_mode—indicates the applied FEC payload ID mode. Valid values are shown in Table 4 (i.e., Table AMD2 C.6 in the standard).        
TABLE 3ValueDescriptionb0000AL-FEC is not appliedb0001One stage FEC coding structureb0010Two stage FEC coding structureb0011Layer-aware FEC coding structureb0100~b1111reserved
TABLE 4ValueDescriptionb0FEC payload ID mode 0b1FEC payload ID mode 1
The current CE (Core experiment) of Adaptive AL-FEC for MMT is to provide adaptive FEC protection in a more efficient way and to seek for a good strategy to implement adaptive and content-aware FEC protection for media data transport. Two aspects may be considered, i.e., channel characteristics and content priorities. Different FEC schemes or encoding matrices for channels may be used as there are many different kinds of channels with various characteristics. Differentiated or uneven FEC strength may be used for contents with various dependency and importance.
A third aspect may be considered that the delivery path may consist of multiple entities and may involve different network connections. According to the current ISO/IEC standard, when an AL-FEC configuration setting is selected for an end-to-end service, the source symbols will be FEC coded according to the AL-FEC configuration setting regardless of the characteristics of the networks. In heterogeneous network environment, the characteristics may be very different among various networks. Therefore, the uniform protection provided by the AL-FEC in the existing MMTP in a source content provider may not be suitable. It is desirable to develop a flexible and adaptive AL-FEC scheme for MMTP in which an entity in the delivery path may alter the protection within the range of AL-FEC scheme settings.